package tchk.xyz.lingyuntutorminiprogram.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import tchk.xyz.lingyuntutorminiprogram.dto.TeacherAuditDTO;
import tchk.xyz.lingyuntutorminiprogram.dto.TeacherCardDTO;
import tchk.xyz.lingyuntutorminiprogram.dto.TeacherDetailDTO;
import tchk.xyz.lingyuntutorminiprogram.dto.TeacherSearchDTO;
import tchk.xyz.lingyuntutorminiprogram.entity.TeacherInfo;

public interface ITeacherInfoService extends IService<TeacherInfo> {

    /**
     * 搜索教师列表 (供小程序前端使用)
     */
    IPage<TeacherCardDTO> searchTeachers(TeacherSearchDTO searchDTO);

    /**
     * 获取教师公开详情 (供小程序前端使用)
     */
    TeacherDetailDTO getTeacherPublicDetailById(Long userId);

    /**
     * 分页查询待审核的教师列表 (供后台管理系统使用)
     */
    IPage<TeacherAuditDTO> getPendingTeachers(IPage<TeacherAuditDTO> page);

    /**
     * 审核教师资质 (供后台管理系统使用)
     */
    void auditTeacher(Long teacherUserId, Boolean isApproved, String remark);

    /*
     * [核心修正] 我们暂时注释掉这个给管理员用的旧方法，因为它与我们新的公开DTO冲突。
     * 它的存在是之前编译错误的根源。
     *
     * TeacherDetailDTO getTeacherDetailById(Long userId);
     */
}